Например, Бобцов

Реализация кооперативного взаимодействия автоматных объектов (на англ.яз.)

Аннотация:

Введение. Рассмотрены вопросы реализации взаимодействия автоматных объектов, формализованных посредством специализированных графов переходов состояний. Данный подход к представлению подобен диаграммам автоматов в UML (Unified Modeling Language), существенно облегчает разработку и последующее сопровождение программного обеспечения. Каждый автоматный объект управляет определенными аспектами поведения системы, а их взаимодействие через соответствующие интерфейсы обеспечивает достижение общих целей. Визуализация таких объектов реализуется с помощью языка автоматного программирования CIAO (Cooperative Interaction of Automaton Objects) v.3. Использование механизма взаимодействия предполагает создание программной системы, которая поддерживает совместное выполнение и взаимодействие автоматных объектов. Метод. Для выполнения предлагаемого автоматного взаимодействия применяется метод раскрутки, который известен с середины 1960-х годов и представляет собой технику создания компилятора или интерпретатора на том же языке, для которого он создается. Для построения начального интерпретатора используется метод пошагового уточнения. Затем, на основе шаблонов преобразования императивных конструкций в автоматные, интерпретатор модифицируется в систему взаимодействующих автоматных объектов, что является итогом процесса раскрутки. Основные результаты. Разработаны структуры данных для представления программ на языке CIAO v.3, описана структура интерпретатора на псевдокоде методом пошагового уточнения. Предложены шаблоны для реализации императивных конструкций средствами автоматного программирования. Представлена структура интерпретатора языка CIAO v.3 на данном языке. Реализован прототип интерпретатора на языке Python. Обсуждение. Полученные результаты продемонстрировали успешную программную самореализацию языка CIAO v.3 методом раскрутки. Показано, что язык CIAO v.3 обеспечивает эффективное проектирование и реализацию программных решений, а также гарантирует безотказное взаимодействие компонентов за счет возможности автоматической проверки свойств программ на языке CIAO v.3. Предложенный подход может быть использован для реализации предметно-ориентированных языков в мультиагентных системах и интерфейсах человеко-машинного взаимодействия.

Ключевые слова:

Статьи в номере